package br.com.rglariguet.pioneer.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.rglariguet.pioneer.dao.AutorizadaDAO;
import br.com.rglariguet.pioneer.dao.DadosBasicosProdutoDAO;
import br.com.rglariguet.pioneer.dao.DadosPerfilDAO;
import br.com.rglariguet.pioneer.dao.DefeitoPioneerDAO;
import br.com.rglariguet.pioneer.dao.EnderecoDAO;
import br.com.rglariguet.pioneer.dao.ManualDAO;
import br.com.rglariguet.pioneer.dao.PecaDAO;
import br.com.rglariguet.pioneer.dao.PerfilDAO;
import br.com.rglariguet.pioneer.dao.UsuarioDAO;
import br.com.rglariguet.pioneer.modelos.DadosBasicosProduto;
import br.com.rglariguet.pioneer.util.PioneerMock;


@Controller
public class PioneerMockController {

	
	@Autowired
	private UsuarioDAO usuarioDAO; 
	
	@Autowired
	private PerfilDAO perfilDAO; 
	
	@Autowired
	private DadosBasicosProdutoDAO aparelhoDao;
	
	@Autowired
	private PecaDAO pecaDao;

	@Autowired
	private ManualDAO manualDao;

	@Autowired
	private DefeitoPioneerDAO defeitoPioneerDao;

	@Autowired
	private AutorizadaDAO autorizadaDao;
	
	@Autowired
	private EnderecoDAO enderecoDao;

	@Autowired
	private DadosPerfilDAO dadosPerfilDao;
	
	
	
	@RequestMapping("/setupInicial")
	public String criaUsuariosTeste(){
		List<DadosBasicosProduto> aparelhos = aparelhoDao.listarTodos();
		if (aparelhos.isEmpty()) {
			PioneerMock.criaPerfis(perfilDAO);
			PioneerMock.populaAutorizada(autorizadaDao, dadosPerfilDao, enderecoDao, usuarioDAO, perfilDAO);
			PioneerMock.populaAparelhos(aparelhoDao);
			PioneerMock.criarUsuarios(usuarioDAO, perfilDAO);
			PioneerMock.populaPecas(pecaDao);
			PioneerMock.populaManuais(manualDao);
			PioneerMock.populaDefeitosPioneer(defeitoPioneerDao);
		}
		return "/usuarios/login-form";
	}
}
